/************************************************************************
 *
 * locale.h
 *
 * (c) Copyright 1996-2006 Analog Devices, Inc.  All rights reserved.
 * $Revision: 1.1.20.1 $
 ************************************************************************/

#pragma once
#ifndef __NO_BUILTIN
#pragma system_header /* locale.h */
#endif

#ifndef __LOCALE_DEFINED
#define __LOCALE_DEFINED

struct lconv {
    char *decimal_point;
    char *thousands_sep;
    char *grouping;
    char *int_curr_symbol;
    char *currency_symbol;
    char *mon_decimal_point;
    char *mon_thousands_sep;
    char *mon_grouping;
    char *positive_sign;
    char *negative_sign;
    char int_frac_digits;
    char frac_digits;
    char p_cs_precedes;
    char p_sep_by_space;
    char n_cs_precedes;
    char n_sep_by_space;
    char p_sign_posn;
    char n_sign_posn;
};

#ifndef NULL
  #ifdef __cplusplus
    #define NULL	0
  #else
    #define NULL	((void *)0)
  #endif
#endif

#define LC_ALL 0
#define LC_COLLATE 1
#define LC_CTYPE 2
#define LC_MONETARY 3
#define LC_NUMERIC 4
#define LC_TIME 5
#define LC_MESSAGES 6

#ifdef __cplusplus
  extern "C" {
#endif

extern struct lconv _Libc_locale;

char *setlocale(int category, const char *locale);

#pragma always_inline
__inline struct lconv *localeconv(void)
{
  return &_Libc_locale;
}

#ifdef __cplusplus
  }
#endif

#endif /* __LOCALE_DEFINED */
